package com.match.competition_apply.service;

import com.match.competition_apply.entity.CompetitionSignUp;
import com.baomidou.mybatisplus.extension.service.IService;
import com.match.competition_apply.entity.vo.SignUpQuery;
import com.match.competition_apply.entity.vo.StudentSignUpVo;
import com.match.entity.baseEntity.Student;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author AdiosF
 * @since 2021-11-03
 */
public interface CompetitionSignUpService extends IService<CompetitionSignUp> {

    //报名申请返回队伍ID
    CompetitionSignUp saveSignInfo(CompetitionSignUp competitionSignUp);

    //分页条件查询报名信息
    Map<String, Object> getSignUpPageList(long current, long limit, SignUpQuery signUpQuery);

    //更新学生参赛数
    void upDateStudentCount(String studentNumber);

    //根据组别Id移除中间表信息
    void removeStudentGrout(String signUpId);

    //获取队长姓名
    String getLeaderNameByNumber(String leaderNumber);

    //获取组员姓名
    String getGroupMembersNameByNumber(String studentNumber);

    //获取指导老师姓名
    String getTeacherNameByNumber(String adviserOne);

    //更新报名状态
    void updateSignUpStates(String signUpId, Integer states,String backInfo);

    //返回驳回信息
    String getBackInfoById(String signUpId);

    //得到学生信息
    Student getStudentByNumber(String studentNumber);

    //根据报名ID获取报名信息
    CompetitionSignUp getSignUpInfo(CompetitionSignUp competitionSignUpServiceById);

    //学生-分页查询自己已报名的项目
    Map<String, Object> getStudentSignUpList(long current, long limit, StudentSignUpVo studentSignUpVo);
}
